.TH "OPENCV_HAARTRAINING" "1" "May 2010" "OpenCV" "User Commands"


.SH NAME
opencv_haartraining \- train classifier


.SH SYNOPSIS
.B opencv_haartraining [options]


.SH DESCRIPTION
.PP
.B opencv_haartraining
is training the classifier. While it is running, you can already get an
impression, whether the classifier will be suitable or if you need to improve
the training set and/or parameters.
.PP
In the output:
.TP
.RB \(aq POS: \(aq
shows the hitrate in the set of training samples (should be equal or near to
.I 1.0
as in stage 0)
.TP
.RB \(aq NEG: \(aq
indicates the false alarm rate (should reach at least
.I 5*10-6
to be a usable classifier for real world applications)
.PP
If one of the above values gets
.IR 0 " (" zero ")"
there is an overflow. In this case the false alarm rate is so low, that
further training doesn't make sense anymore, so it can be stopped.


.SH OPTIONS
.PP
.B opencv_haartraining
supports the following options:

.PP
.TP
.BI "\-data " dir_name
The directory in which the trained classifier is stored.

.TP
.BI "\-vec " vec_file_name
The file name of the positive samples file (e.g. created by the
.BR opencv_createsamples (1)
utility).

.TP
.BI "\-bg " background_file_name
The background description file (the negative sample set). It contains a list
of images into which randomly distorted versions of the object are pasted for
positive sample generation.

.TP
.BI "\-bg-vecfile
This option is that bgfilename represents a vec file with discrete negatives. The default is
.BR "not set".

.TP
.BI "\-npos " number_of_positive_samples
The number of positive samples used in training of each classifier stage.
The default is
.IR 2000 .

.TP
.BI "\-nneg " number_of_negative_samples
The number of negative samples used in training of each classifier stage.
The default is
.IR 2000 .

.PP
Reasonable values are
.BR "\-npos 7000 \-nneg 3000" .

.TP
.BI "\-nstages " number_of_stage
The number of stages to be trained. The default is
.IR 14 .

.TP
.BI "\-nsplits " number_of_splits
Determine the weak classifier used in stage classifiers. If the value is
.IP
.BR 1 ,
then a simple stump classifier is used
.IP
.BR >=2 ,
then CART classifier with
.I number_of_splits
internal (split) nodes is used
.IP
The default is
.IR 1 .

.TP
.BI "\-mem " memory_in_MB
Available memory in
.B MB
for precalculation. The more memory you have the faster the training process is.
The default is
.IR 200 .

.TP
.B \-sym, \-nonsym
Specify whether the object class under training has vertical symmetry or not.
Vertical symmetry speeds up training process and reduces memory usage. For
instance, frontal faces show off vertical symmetry. The default is
.BR \-sym .

.TP
.BI "\-minhitrate " min_hit_rate
The minimal desired hit rate for each stage classifier. Overall hit rate may
be estimated as
.IR "\%min_hit_rate^number_of_stages" .
The default is
.IR 0.950000 .

.TP
.BI "\-maxfalsealarm " max_false_alarm_rate
The maximal desired false alarm rate for each stage classifier. Overall false
alarm rate may be estimated as
.IR "\%max_false_alarm_rate^number_of_stages" .
The default is
.IR 0.500000 .

.TP
.BI "\-weighttrimming " weight_trimming
Specifies whether and how much weight trimming should be used. The default is
.IR 0.950000 .
A decent choice is
.IR 0.900000 .

.TP
.B \-eqw
Specify if initial weights of all samples will be equal.

.TP
.BI "\-mode {" BASIC | CORE | ALL "}"
Select the type of haar features set used in training.
.I BASIC
uses only upright features, while
.I CORE
uses the full upright feature set and
.I ALL
uses the full set of upright and 45 degree rotated feature set.
The default is
.IR BASIC .
.IP
For more information on this see \%http://www.lienhart.de/ICIP2002.pdf.

.TP
.BI "\-h " sample_height
The sample height (must have the same value as used during creation).
The default is
.IR 24 .

.TP
.BI "\-w " sample_width
The sample width (must have the same value as used during creation).
The default is
.IR 24 .

.TP
.BI "\-bt {" DAB | RAB | LB | GAB "}"
The type of the applied boosting algorithm. You can choose between Discrete
AdaBoost (\fIDAB\fR), Real AdaBoost (\fIRAB\fR), LogitBoost (\fILB\fR) and
Gentle AdaBoost (\fIGAB\fR). The default is
.IR GAB .

.TP
.BI "\-err {" misclass | gini | entropy "}"
The type of used error if Discrete AdaBoost (\fB\-bt DAB\fR) algorithm is
applied. The default is
.IR misclass .

.TP
.BI "\-maxtreesplits " max_number_of_splits_in_tree_cascade
The maximal number of splits in a tree cascade. The default is
.IR 0 .

.TP
.BI "\-minpos " min_number_of_positive_samples_per_cluster
The minimal number of positive samples per cluster. The default is
.IR 500 .

.PP
The same information is shown, if
.B opencv_haartraining
is called without any arguments/options.


.SH EXAMPLES
.PP
TODO
.\" http://robotik.inflomatik.info/other/opencv/OpenCV_ObjectDetection_HowTo.pdf


.SH SEE ALSO
.PP
.BR opencv_createsamples (1),
.BR opencv_performance (1)
.PP
More information and examples can be found in the OpenCV documentation.


.SH AUTHORS
.PP
This manual page was written by \fBDaniel Leidert\fR <\&daniel.leidert@wgdd.de\&>
and \fBNobuhiro Iwamatsu\fR <\&iwamatsu@debian.org\&>
for the Debian project (but may be used by others).
